[INFO] fetching crate interoptopus_reference_project 0.14.25...
[INFO] fixing interoptopus_reference_project-0.14.25 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate interoptopus_reference_project 0.14.25 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate interoptopus_reference_project 0.14.25
[INFO] finished tweaking crates.io crate interoptopus_reference_project 0.14.25
[INFO] tweaked toml for crates.io crate interoptopus_reference_project 0.14.25 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate interoptopus_reference_project 0.14.25 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 17 packages to latest compatible versions
[INFO] [stderr]       Adding interoptopus v0.14.27 (available: v0.16.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6
[INFO] running `Command { std: "docker" "start" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling interoptopus_proc v0.14.23
[INFO] [stderr]     Checking interoptopus v0.14.27
[INFO] [stderr]     Checking interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.40s
[INFO] [stderr] crater-edition-check: interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<'_, u32> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<'_, u32> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout]     | |                                 ^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<'_, u32> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout]     | |                                     ^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<'_, u32> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout]     | |                                  ^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<'_, u32> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<'_, u32> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout]     | |                                 ^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn return_slice(&mut self) -> FFISlice<'_, u32> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout]     | |                                     ^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn return_slice_mut(&mut self) -> FFISliceMut<'_, u32> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patterns/service.rs:20:6
[INFO] [stdout]     |
[INFO] [stdout]  20 |   impl SimpleService {
[INFO] [stdout]     |  ______^
[INFO] [stdout]  21 | |     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout]  22 | |     #[ffi_service_ctor]
[INFO] [stdout]  23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout]     | |                                  ^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.14s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `interoptopus_reference_project`
[INFO] [stderr]  --> src/functions.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/patterns/api_guard.rs
[INFO] [stderr]  ::: src/patterns/ascii_pointer.rs
[INFO] [stderr]  ::: src/patterns/callbacks.rs
[INFO] [stderr]  ::: src/patterns/option.rs
[INFO] [stderr]  ::: src/patterns/primitives.rs
[INFO] [stderr]  ::: src/patterns/service.rs
[INFO] [stderr]  ::: src/patterns/slice.rs
[INFO] [stderr]  ::: src/types.rs
[INFO] [stderr]   = cause: error: expected type, found keyword `unsafe`
[INFO] [stderr]              --> src/patterns/service.rs:20:6
[INFO] [stderr]               |
[INFO] [stderr]            20 | impl unsafe(SimpleService) {
[INFO] [stderr]               |      ^^^^^^ expected type
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:21:1
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:26:1
[INFO] [stderr]               |
[INFO] [stderr]            26 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:32:1
[INFO] [stderr]               |
[INFO] [stderr]            32 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:38:1
[INFO] [stderr]               |
[INFO] [stderr]            38 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:50:1
[INFO] [stderr]               |
[INFO] [stderr]            50 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:56:1
[INFO] [stderr]               |
[INFO] [stderr]            56 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:62:1
[INFO] [stderr]               |
[INFO] [stderr]            62 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:68:1
[INFO] [stderr]               |
[INFO] [stderr]            68 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:74:1
[INFO] [stderr]               |
[INFO] [stderr]            74 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:80:1
[INFO] [stderr]               |
[INFO] [stderr]            80 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:87:1
[INFO] [stderr]               |
[INFO] [stderr]            87 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:96:1
[INFO] [stderr]               |
[INFO] [stderr]            96 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:102:1
[INFO] [stderr]                |
[INFO] [stderr]            102 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:108:1
[INFO] [stderr]                |
[INFO] [stderr]            108 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:114:1
[INFO] [stderr]                |
[INFO] [stderr]            114 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:120:1
[INFO] [stderr]                |
[INFO] [stderr]            120 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:126:1
[INFO] [stderr]                |
[INFO] [stderr]            126 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:135:1
[INFO] [stderr]                |
[INFO] [stderr]            135 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:143:1
[INFO] [stderr]                |
[INFO] [stderr]            143 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:149:1
[INFO] [stderr]                |
[INFO] [stderr]            149 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:156:1
[INFO] [stderr]                |
[INFO] [stderr]            156 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:162:1
[INFO] [stderr]                |
[INFO] [stderr]            162 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:168:1
[INFO] [stderr]                |
[INFO] [stderr]            168 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:174:1
[INFO] [stderr]                |
[INFO] [stderr]            174 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:180:1
[INFO] [stderr]                |
[INFO] [stderr]            180 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:186:1
[INFO] [stderr]                |
[INFO] [stderr]            186 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:193:1
[INFO] [stderr]                |
[INFO] [stderr]            193 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:199:1
[INFO] [stderr]                |
[INFO] [stderr]            199 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:205:1
[INFO] [stderr]                |
[INFO] [stderr]            205 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:211:1
[INFO] [stderr]                |
[INFO] [stderr]            211 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:217:1
[INFO] [stderr]                |
[INFO] [stderr]            217 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:223:1
[INFO] [stderr]                |
[INFO] [stderr]            223 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:229:1
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:235:1
[INFO] [stderr]                |
[INFO] [stderr]            235 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:241:1
[INFO] [stderr]                |
[INFO] [stderr]            241 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:256:1
[INFO] [stderr]                |
[INFO] [stderr]            256 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:262:1
[INFO] [stderr]                |
[INFO] [stderr]            262 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:268:1
[INFO] [stderr]                |
[INFO] [stderr]            268 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:274:1
[INFO] [stderr]                |
[INFO] [stderr]            274 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:280:1
[INFO] [stderr]                |
[INFO] [stderr]            280 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:286:1
[INFO] [stderr]                |
[INFO] [stderr]            286 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:292:1
[INFO] [stderr]                |
[INFO] [stderr]            292 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:298:1
[INFO] [stderr]                |
[INFO] [stderr]            298 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:304:1
[INFO] [stderr]                |
[INFO] [stderr]            304 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:317:1
[INFO] [stderr]                |
[INFO] [stderr]            317 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:323:1
[INFO] [stderr]                |
[INFO] [stderr]            323 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:329:1
[INFO] [stderr]                |
[INFO] [stderr]            329 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/api_guard.rs:4:1
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/ascii_pointer.rs:6:1
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:12:1
[INFO] [stderr]               |
[INFO] [stderr]            12 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:18:1
[INFO] [stderr]               |
[INFO] [stderr]            18 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:26:1
[INFO] [stderr]               |
[INFO] [stderr]            26 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:37:1
[INFO] [stderr]               |
[INFO] [stderr]            37 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:43:1
[INFO] [stderr]               |
[INFO] [stderr]            43 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:49:1
[INFO] [stderr]               |
[INFO] [stderr]            49 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:55:1
[INFO] [stderr]               |
[INFO] [stderr]            55 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/option.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/option.rs:16:1
[INFO] [stderr]               |
[INFO] [stderr]            16 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/primitives.rs:4:1
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:16:1
[INFO] [stderr]               |
[INFO] [stderr]            16 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:22:1
[INFO] [stderr]               |
[INFO] [stderr]            22 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:11:1
[INFO] [stderr]               |
[INFO] [stderr]            11 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:23:1
[INFO] [stderr]               |
[INFO] [stderr]            23 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:33:1
[INFO] [stderr]               |
[INFO] [stderr]            33 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:39:1
[INFO] [stderr]               |
[INFO] [stderr]            39 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:45:1
[INFO] [stderr]               |
[INFO] [stderr]            45 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:55:1
[INFO] [stderr]               |
[INFO] [stderr]            55 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:59:1
[INFO] [stderr]               |
[INFO] [stderr]            59 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:66:1
[INFO] [stderr]               |
[INFO] [stderr]            66 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0432]: unresolved import `crate::patterns::slice::pattern_ffi_slice_3`
[INFO] [stderr]              --> src/patterns/slice.rs:75:9
[INFO] [stderr]               |
[INFO] [stderr]            75 |     use crate::patterns::slice::pattern_ffi_slice_3;
[INFO] [stderr]               |         ^^^^^^^^^^^^^^^^^^^^^^^^-------------------
[INFO] [stderr]               |                                 |
[INFO] [stderr]               |                                 no `pattern_ffi_slice_3` in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_void` in module `functions`
[INFO] [stderr]              --> src/lib.rs:32:44
[INFO] [stderr]               |
[INFO] [stderr]            32 |             .register(function!(functions::primitive_void))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_void2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:33:44
[INFO] [stderr]               |
[INFO] [stderr]            33 |             .register(function!(functions::primitive_void2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_bool` in module `functions`
[INFO] [stderr]              --> src/lib.rs:34:44
[INFO] [stderr]               |
[INFO] [stderr]            34 |             .register(function!(functions::primitive_bool))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u8` in module `functions`
[INFO] [stderr]              --> src/lib.rs:35:44
[INFO] [stderr]               |
[INFO] [stderr]            35 |             .register(function!(functions::primitive_u8))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u16` in module `functions`
[INFO] [stderr]              --> src/lib.rs:36:44
[INFO] [stderr]               |
[INFO] [stderr]            36 |             .register(function!(functions::primitive_u16))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u32` in module `functions`
[INFO] [stderr]              --> src/lib.rs:37:44
[INFO] [stderr]               |
[INFO] [stderr]            37 |             .register(function!(functions::primitive_u32))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u64` in module `functions`
[INFO] [stderr]              --> src/lib.rs:38:44
[INFO] [stderr]               |
[INFO] [stderr]            38 |             .register(function!(functions::primitive_u64))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i8` in module `functions`
[INFO] [stderr]              --> src/lib.rs:39:44
[INFO] [stderr]               |
[INFO] [stderr]            39 |             .register(function!(functions::primitive_i8))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i16` in module `functions`
[INFO] [stderr]              --> src/lib.rs:40:44
[INFO] [stderr]               |
[INFO] [stderr]            40 |             .register(function!(functions::primitive_i16))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i32` in module `functions`
[INFO] [stderr]              --> src/lib.rs:41:44
[INFO] [stderr]               |
[INFO] [stderr]            41 |             .register(function!(functions::primitive_i32))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i64` in module `functions`
[INFO] [stderr]              --> src/lib.rs:42:44
[INFO] [stderr]               |
[INFO] [stderr]            42 |             .register(function!(functions::primitive_i64))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `boolean_alignment` in module `functions`
[INFO] [stderr]               --> src/lib.rs:43:44
[INFO] [stderr]                |
[INFO] [stderr]             43 |             .register(function!(functions::boolean_alignment))
[INFO] [stderr]                |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:251:1
[INFO] [stderr]                |
[INFO] [stderr]            251 | pub struct BooleanAlignment {
[INFO] [stderr]                | --------------------------- similarly named struct `BooleanAlignment` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             43 -             .register(function!(functions::boolean_alignment))
[INFO] [stderr]             43 +             .register(function!(functions::BooleanAlignment))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `boolean_alignment2` in module `functions`
[INFO] [stderr]               --> src/lib.rs:44:44
[INFO] [stderr]                |
[INFO] [stderr]             44 |             .register(function!(functions::boolean_alignment2))
[INFO] [stderr]                |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:251:1
[INFO] [stderr]                |
[INFO] [stderr]            251 | pub struct BooleanAlignment {
[INFO] [stderr]                | --------------------------- similarly named struct `BooleanAlignment` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             44 -             .register(function!(functions::boolean_alignment2))
[INFO] [stderr]             44 +             .register(function!(functions::BooleanAlignment))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `aligned_to_packed1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:45:44
[INFO] [stderr]               |
[INFO] [stderr]            45 |             .register(function!(functions::aligned_to_packed1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `aligned_to_packed2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:46:44
[INFO] [stderr]               |
[INFO] [stderr]            46 |             .register(function!(functions::aligned_to_packed2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `many_args_5` in module `functions`
[INFO] [stderr]              --> src/lib.rs:47:44
[INFO] [stderr]               |
[INFO] [stderr]            47 |             .register(function!(functions::many_args_5))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `many_args_10` in module `functions`
[INFO] [stderr]              --> src/lib.rs:48:44
[INFO] [stderr]               |
[INFO] [stderr]            48 |             .register(function!(functions::many_args_10))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr` in module `functions`
[INFO] [stderr]              --> src/lib.rs:49:44
[INFO] [stderr]               |
[INFO] [stderr]            49 |             .register(function!(functions::ptr))
[INFO] [stderr]               |                                            ^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr_mut` in module `functions`
[INFO] [stderr]              --> src/lib.rs:50:44
[INFO] [stderr]               |
[INFO] [stderr]            50 |             .register(function!(functions::ptr_mut))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr_ptr` in module `functions`
[INFO] [stderr]              --> src/lib.rs:51:44
[INFO] [stderr]               |
[INFO] [stderr]            51 |             .register(function!(functions::ptr_ptr))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_simple` in module `functions`
[INFO] [stderr]              --> src/lib.rs:52:44
[INFO] [stderr]               |
[INFO] [stderr]            52 |             .register(function!(functions::ref_simple))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_mut_simple` in module `functions`
[INFO] [stderr]              --> src/lib.rs:53:44
[INFO] [stderr]               |
[INFO] [stderr]            53 |             .register(function!(functions::ref_mut_simple))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:54:44
[INFO] [stderr]               |
[INFO] [stderr]            54 |             .register(function!(functions::ref_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_mut_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:55:44
[INFO] [stderr]               |
[INFO] [stderr]            55 |             .register(function!(functions::ref_mut_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `tupled` in module `functions`
[INFO] [stderr]              --> src/lib.rs:56:44
[INFO] [stderr]               |
[INFO] [stderr]            56 |             .register(function!(functions::tupled))
[INFO] [stderr]               |                                            ^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:39:1
[INFO] [stderr]               |
[INFO] [stderr]            39 | pub struct Tupled(pub u8);
[INFO] [stderr]               | -------------------------- similarly named struct `Tupled` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            56 -             .register(function!(functions::tupled))
[INFO] [stderr]            56 +             .register(function!(functions::Tupled))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `complex_args_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:57:44
[INFO] [stderr]               |
[INFO] [stderr]            57 |             .register(function!(functions::complex_args_1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `complex_args_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:58:44
[INFO] [stderr]               |
[INFO] [stderr]            58 |             .register(function!(functions::complex_args_2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `callback` in module `functions`
[INFO] [stderr]              --> src/lib.rs:59:44
[INFO] [stderr]               |
[INFO] [stderr]            59 |             .register(function!(functions::callback))
[INFO] [stderr]               |                                            ^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1a` in module `functions`
[INFO] [stderr]              --> src/lib.rs:60:44
[INFO] [stderr]               |
[INFO] [stderr]            60 |             .register(function!(functions::generic_1a))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1b` in module `functions`
[INFO] [stderr]              --> src/lib.rs:61:44
[INFO] [stderr]               |
[INFO] [stderr]            61 |             .register(function!(functions::generic_1b))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1c` in module `functions`
[INFO] [stderr]              --> src/lib.rs:62:44
[INFO] [stderr]               |
[INFO] [stderr]            62 |             .register(function!(functions::generic_1c))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:63:44
[INFO] [stderr]               |
[INFO] [stderr]            63 |               .register(function!(functions::generic_2))
[INFO] [stderr]               |                                              ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:58:1
[INFO] [stderr]               |
[INFO] [stderr]            58 | / pub struct Generic2<T>
[INFO] [stderr]            59 | | where
[INFO] [stderr]            60 | |     T: CTypeInfo,
[INFO] [stderr]            ...  |
[INFO] [stderr]            63 | | }
[INFO] [stderr]               | |_- similarly named struct `Generic2` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            63 -             .register(function!(functions::generic_2))
[INFO] [stderr]            63 +             .register(function!(functions::Generic2))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_3` in module `functions`
[INFO] [stderr]              --> src/lib.rs:64:44
[INFO] [stderr]               |
[INFO] [stderr]            64 |             .register(function!(functions::generic_3))
[INFO] [stderr]               |                                            ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:67:1
[INFO] [stderr]               |
[INFO] [stderr]            67 | pub struct Generic3<T> {
[INFO] [stderr]               | ---------------------- similarly named struct `Generic3` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            64 -             .register(function!(functions::generic_3))
[INFO] [stderr]            64 +             .register(function!(functions::Generic3))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_4` in module `functions`
[INFO] [stderr]              --> src/lib.rs:65:44
[INFO] [stderr]               |
[INFO] [stderr]            65 |               .register(function!(functions::generic_4))
[INFO] [stderr]               |                                              ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:73:1
[INFO] [stderr]               |
[INFO] [stderr]            73 | / pub struct Generic4<T>
[INFO] [stderr]            74 | | where
[INFO] [stderr]            75 | |     T: Helper,
[INFO] [stderr]            ...  |
[INFO] [stderr]            78 | | }
[INFO] [stderr]               | |_- similarly named struct `Generic4` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            65 -             .register(function!(functions::generic_4))
[INFO] [stderr]            65 +             .register(function!(functions::Generic4))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `array_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:66:44
[INFO] [stderr]               |
[INFO] [stderr]            66 |             .register(function!(functions::array_1))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `documented` in module `functions`
[INFO] [stderr]              --> src/lib.rs:67:44
[INFO] [stderr]               |
[INFO] [stderr]            67 |             .register(function!(functions::documented))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:68:44
[INFO] [stderr]               |
[INFO] [stderr]            68 |             .register(function!(functions::ambiguous_1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:69:44
[INFO] [stderr]               |
[INFO] [stderr]            69 |             .register(function!(functions::ambiguous_2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_3` in module `functions`
[INFO] [stderr]              --> src/lib.rs:70:44
[INFO] [stderr]               |
[INFO] [stderr]            70 |             .register(function!(functions::ambiguous_3))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_type` in module `functions`
[INFO] [stderr]              --> src/lib.rs:71:44
[INFO] [stderr]               |
[INFO] [stderr]            71 |             .register(function!(functions::namespaced_type))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:72:44
[INFO] [stderr]               |
[INFO] [stderr]            72 |             .register(function!(functions::namespaced_inner_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_slice` in module `functions`
[INFO] [stderr]              --> src/lib.rs:73:44
[INFO] [stderr]               |
[INFO] [stderr]            73 |             .register(function!(functions::namespaced_inner_slice))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_slice_mut` in module `functions`
[INFO] [stderr]              --> src/lib.rs:74:44
[INFO] [stderr]               |
[INFO] [stderr]            74 |             .register(function!(functions::namespaced_inner_slice_mut))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `panics` in module `functions`
[INFO] [stderr]              --> src/lib.rs:75:44
[INFO] [stderr]               |
[INFO] [stderr]            75 |             .register(function!(functions::panics))
[INFO] [stderr]               |                                            ^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `renamed` in module `functions`
[INFO] [stderr]              --> src/lib.rs:76:44
[INFO] [stderr]               |
[INFO] [stderr]            76 |             .register(function!(functions::renamed))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `sleep` in module `functions`
[INFO] [stderr]              --> src/lib.rs:77:44
[INFO] [stderr]               |
[INFO] [stderr]            77 |             .register(function!(functions::sleep))
[INFO] [stderr]               |                                            ^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `weird_1` in module `functions`
[INFO] [stderr]               --> src/lib.rs:78:44
[INFO] [stderr]                |
[INFO] [stderr]             78 |               .register(function!(functions::weird_1))
[INFO] [stderr]                |                                              ^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:184:1
[INFO] [stderr]                |
[INFO] [stderr]            184 | / pub struct Weird1<T: Clone>
[INFO] [stderr]            185 | | where
[INFO] [stderr]            186 | |     T: Copy + Copy,
[INFO] [stderr]            ...   |
[INFO] [stderr]            189 | | }
[INFO] [stderr]                | |_- similarly named struct `Weird1` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             78 -             .register(function!(functions::weird_1))
[INFO] [stderr]             78 +             .register(function!(functions::Weird1))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `visibility` in module `functions`
[INFO] [stderr]               --> src/lib.rs:79:44
[INFO] [stderr]                |
[INFO] [stderr]             79 |             .register(function!(functions::visibility))
[INFO] [stderr]                |                                            ^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:205:1
[INFO] [stderr]                |
[INFO] [stderr]            205 | pub struct Visibility1 {
[INFO] [stderr]                | ---------------------- similarly named struct `Visibility1` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             79 -             .register(function!(functions::visibility))
[INFO] [stderr]             79 +             .register(function!(functions::Visibility1))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `repr_transparent` in module `functions`
[INFO] [stderr]              --> src/lib.rs:80:44
[INFO] [stderr]               |
[INFO] [stderr]            80 |             .register(function!(functions::repr_transparent))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_1` in module `patterns::ascii_pointer`
[INFO] [stderr]              --> src/lib.rs:81:58
[INFO] [stderr]               |
[INFO] [stderr]            81 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_1))
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_2` in module `patterns::ascii_pointer`
[INFO] [stderr]              --> src/lib.rs:82:58
[INFO] [stderr]               |
[INFO] [stderr]            82 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_2))
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_len` in module `patterns::ascii_pointer`
[INFO] [stderr]              --> src/lib.rs:83:58
[INFO] [stderr]               |
[INFO] [stderr]            83 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_len))
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_return_slice` in module `patterns::ascii_pointer`
[INFO] [stderr]              --> src/lib.rs:84:58
[INFO] [stderr]               |
[INFO] [stderr]            84 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_return_slice))
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_1` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:85:50
[INFO] [stderr]               |
[INFO] [stderr]            85 |             .register(function!(patterns::slice::pattern_ffi_slice_1))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_1b` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:86:50
[INFO] [stderr]               |
[INFO] [stderr]            86 |             .register(function!(patterns::slice::pattern_ffi_slice_1b))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_2` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:87:50
[INFO] [stderr]               |
[INFO] [stderr]            87 |             .register(function!(patterns::slice::pattern_ffi_slice_2))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_3` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:88:50
[INFO] [stderr]               |
[INFO] [stderr]            88 |             .register(function!(patterns::slice::pattern_ffi_slice_3))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_4` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:89:50
[INFO] [stderr]               |
[INFO] [stderr]            89 |             .register(function!(patterns::slice::pattern_ffi_slice_4))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_5` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:90:50
[INFO] [stderr]               |
[INFO] [stderr]            90 |             .register(function!(patterns::slice::pattern_ffi_slice_5))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_6` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:91:50
[INFO] [stderr]               |
[INFO] [stderr]            91 |             .register(function!(patterns::slice::pattern_ffi_slice_6))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_delegate` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:92:50
[INFO] [stderr]               |
[INFO] [stderr]            92 |             .register(function!(patterns::slice::pattern_ffi_slice_delegate))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_delegate_huge` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:93:50
[INFO] [stderr]               |
[INFO] [stderr]            93 |             .register(function!(patterns::slice::pattern_ffi_slice_delegate_huge))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_option_1` in module `patterns::option`
[INFO] [stderr]              --> src/lib.rs:94:51
[INFO] [stderr]               |
[INFO] [stderr]            94 |             .register(function!(patterns::option::pattern_ffi_option_1))
[INFO] [stderr]               |                                                   ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::option`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_option_2` in module `patterns::option`
[INFO] [stderr]              --> src/lib.rs:95:51
[INFO] [stderr]               |
[INFO] [stderr]            95 |             .register(function!(patterns::option::pattern_ffi_option_2))
[INFO] [stderr]               |                                                   ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::option`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_bool` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:96:55
[INFO] [stderr]               |
[INFO] [stderr]            96 |             .register(function!(patterns::primitives::pattern_ffi_bool))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:97:55
[INFO] [stderr]               |
[INFO] [stderr]            97 |             .register(function!(patterns::primitives::pattern_ffi_cchar))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar_const_pointer` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:98:55
[INFO] [stderr]               |
[INFO] [stderr]            98 |             .register(function!(patterns::primitives::pattern_ffi_cchar_const_pointer))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar_mut_pointer` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:99:55
[INFO] [stderr]               |
[INFO] [stderr]            99 |             .register(function!(patterns::primitives::pattern_ffi_cchar_mut_pointer))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_api_guard` in module `patterns::api_guard`
[INFO] [stderr]               --> src/lib.rs:100:54
[INFO] [stderr]                |
[INFO] [stderr]            100 |             .register(function!(patterns::api_guard::pattern_api_guard))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^ not found in `patterns::api_guard`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_1` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:101:54
[INFO] [stderr]                |
[INFO] [stderr]            101 |             .register(function!(patterns::callbacks::pattern_callback_1))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_2` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:102:54
[INFO] [stderr]                |
[INFO] [stderr]            102 |             .register(function!(patterns::callbacks::pattern_callback_2))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_3` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:103:54
[INFO] [stderr]                |
[INFO] [stderr]            103 |             .register(function!(patterns::callbacks::pattern_callback_3))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_4` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:104:54
[INFO] [stderr]                |
[INFO] [stderr]            104 |             .register(function!(patterns::callbacks::pattern_callback_4))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 148 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0425, E0432.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0425`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:136:3
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:163:3
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:169:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:175:3
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:181:3
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:194:3
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:200:3
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:206:3
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:218:3
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:224:3
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:230:3
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:236:3
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:242:3
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:257:3
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:263:3
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:269:3
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:275:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:281:3
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:287:3
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:293:3
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:299:3
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:318:3
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:324:3
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:330:3
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/api_guard.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/ascii_pointer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/primitives.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 | |     #[ffi_service_ctor]
[INFO] [stdout] 23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] 24 | |         Ok(Self {
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     unsafe(/// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 |     #[ffi_service_ctor]
[INFO] [stdout] ...
[INFO] [stdout] 28 |         })
[INFO] [stdout] 29 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     #[ffi_service_ctor]
[INFO] [stdout] 32 | |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] 33 | |         Ok(Self {
[INFO] [stdout] 34 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         })
[INFO] [stdout] 38 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 31 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 32 |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         })
[INFO] [stdout] 38 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | /     #[ffi_service_ctor]
[INFO] [stdout] 41 | |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] 42 | |         Ok(Self {
[INFO] [stdout] 43 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |         })
[INFO] [stdout] 47 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 41 |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 46 |         })
[INFO] [stdout] 47 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     #[ffi_service_ctor]
[INFO] [stdout] 50 | |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 | |         Err(Error::Bad)
[INFO] [stdout] 52 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 50 |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 |         Err(Error::Bad)
[INFO] [stdout] 52 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     /// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 | |     /// need annotations.
[INFO] [stdout] 56 | |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 | |         Ok(())
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     unsafe(/// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 |     /// need annotations.
[INFO] [stdout] 56 |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 |         Ok(())
[INFO] [stdout] 58 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 | |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 | |         x
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 |         x
[INFO] [stdout] 63 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     /// This method should be documented.
[INFO] [stdout] 66 | |     ///
[INFO] [stdout] 67 | |     /// Multiple lines.
[INFO] [stdout] 68 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 | |     pub fn method_void(&self) {}
[INFO] [stdout]    | |________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 65 ~     unsafe(/// This method should be documented.
[INFO] [stdout] 66 |     ///
[INFO] [stdout] 67 |     /// Multiple lines.
[INFO] [stdout] 68 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 ~     pub fn method_void(&self) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 | |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 | |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Single line.
[INFO] [stdout] 77 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 | |     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]    | |________________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     unsafe(/// Single line.
[INFO] [stdout] 77 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 ~     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 | |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 | |         *x
[INFO] [stdout] 83 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 |         *x
[INFO] [stdout] 83 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 | |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 | |         *x
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 |         *x
[INFO] [stdout] 88 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 | |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 | |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'...
[INFO] [stdout] 93 | |         *x
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'b, u8>) -> u8 {
[INFO] [stdout] 93 |         *x
[INFO] [stdout] 94 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     #[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 | |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 | |         Ok(())
[INFO] [stdout] 100 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     unsafe(#[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 |         Ok(())
[INFO] [stdout] 100 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 | |         slice.as_slice_mut();
[INFO] [stdout] 104 | |         Ok(())
[INFO] [stdout] 105 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     unsafe(pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 |         slice.as_slice_mut();
[INFO] [stdout] 104 |         Ok(())
[INFO] [stdout] 105 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout] 111 | |         self.data.as_slice().into()
[INFO] [stdout] 112 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 111 |         self.data.as_slice().into()
[INFO] [stdout] 112 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout] 118 | |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 118 |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     /// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 | |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 ~     unsafe(/// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 | |         Ok(())
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 |         Ok(())
[INFO] [stdout] 129 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 | |         callback.call(0);
[INFO] [stdout] 138 | |         Ok(())
[INFO] [stdout] 139 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 ~     unsafe(pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 |         callback.call(0);
[INFO] [stdout] 138 |         Ok(())
[INFO] [stdout] 139 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleService {
[INFO] [stdout]    |      ^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl unsafe(SimpleService) {
[INFO] [stdout]    |      +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     #[ffi_service_ctor]
[INFO] [stdout] 157 | |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 | |         Ok(Self { some_value })
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 157 |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 |         Ok(Self { some_value })
[INFO] [stdout] 159 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 | |     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {}
[INFO] [stdout]     | |_________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 ~     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 | |     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]     | |______________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 164 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 ~     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 | |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 | |         AsciiPointer::empty()
[INFO] [stdout] 171 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 168 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 |         AsciiPointer::empty()
[INFO] [stdout] 171 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 | |         Ok(())
[INFO] [stdout] 175 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 173 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 |         Ok(())
[INFO] [stdout] 175 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> SimpleServiceLifetime<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> unsafe(SimpleServiceLifetime<'a>) {
[INFO] [stdout]     |          +++++++                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `interoptopus_reference_project`
[INFO] [stderr]  --> src/functions.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/patterns/api_guard.rs
[INFO] [stderr]  ::: src/patterns/ascii_pointer.rs
[INFO] [stderr]  ::: src/patterns/callbacks.rs
[INFO] [stderr]  ::: src/patterns/option.rs
[INFO] [stderr]  ::: src/patterns/primitives.rs
[INFO] [stderr]  ::: src/patterns/service.rs
[INFO] [stderr]  ::: src/patterns/slice.rs
[INFO] [stderr]  ::: src/types.rs
[INFO] [stderr]   = cause: error: expected type, found keyword `unsafe`
[INFO] [stderr]              --> src/patterns/service.rs:20:6
[INFO] [stderr]               |
[INFO] [stderr]            20 | impl unsafe(SimpleService) {
[INFO] [stderr]               |      ^^^^^^ expected type
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:21:1
[INFO] [stderr]               |
[INFO] [stderr]            21 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:26:1
[INFO] [stderr]               |
[INFO] [stderr]            26 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:32:1
[INFO] [stderr]               |
[INFO] [stderr]            32 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:38:1
[INFO] [stderr]               |
[INFO] [stderr]            38 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:50:1
[INFO] [stderr]               |
[INFO] [stderr]            50 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:56:1
[INFO] [stderr]               |
[INFO] [stderr]            56 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:62:1
[INFO] [stderr]               |
[INFO] [stderr]            62 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:68:1
[INFO] [stderr]               |
[INFO] [stderr]            68 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:74:1
[INFO] [stderr]               |
[INFO] [stderr]            74 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:80:1
[INFO] [stderr]               |
[INFO] [stderr]            80 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:87:1
[INFO] [stderr]               |
[INFO] [stderr]            87 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/functions.rs:96:1
[INFO] [stderr]               |
[INFO] [stderr]            96 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:102:1
[INFO] [stderr]                |
[INFO] [stderr]            102 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:108:1
[INFO] [stderr]                |
[INFO] [stderr]            108 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:114:1
[INFO] [stderr]                |
[INFO] [stderr]            114 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:120:1
[INFO] [stderr]                |
[INFO] [stderr]            120 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:126:1
[INFO] [stderr]                |
[INFO] [stderr]            126 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:135:1
[INFO] [stderr]                |
[INFO] [stderr]            135 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:143:1
[INFO] [stderr]                |
[INFO] [stderr]            143 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:149:1
[INFO] [stderr]                |
[INFO] [stderr]            149 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:156:1
[INFO] [stderr]                |
[INFO] [stderr]            156 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:162:1
[INFO] [stderr]                |
[INFO] [stderr]            162 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:168:1
[INFO] [stderr]                |
[INFO] [stderr]            168 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:174:1
[INFO] [stderr]                |
[INFO] [stderr]            174 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:180:1
[INFO] [stderr]                |
[INFO] [stderr]            180 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:186:1
[INFO] [stderr]                |
[INFO] [stderr]            186 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:193:1
[INFO] [stderr]                |
[INFO] [stderr]            193 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:199:1
[INFO] [stderr]                |
[INFO] [stderr]            199 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:205:1
[INFO] [stderr]                |
[INFO] [stderr]            205 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:211:1
[INFO] [stderr]                |
[INFO] [stderr]            211 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:217:1
[INFO] [stderr]                |
[INFO] [stderr]            217 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:223:1
[INFO] [stderr]                |
[INFO] [stderr]            223 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:229:1
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:235:1
[INFO] [stderr]                |
[INFO] [stderr]            235 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:241:1
[INFO] [stderr]                |
[INFO] [stderr]            241 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:256:1
[INFO] [stderr]                |
[INFO] [stderr]            256 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:262:1
[INFO] [stderr]                |
[INFO] [stderr]            262 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:268:1
[INFO] [stderr]                |
[INFO] [stderr]            268 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:274:1
[INFO] [stderr]                |
[INFO] [stderr]            274 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:280:1
[INFO] [stderr]                |
[INFO] [stderr]            280 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:286:1
[INFO] [stderr]                |
[INFO] [stderr]            286 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:292:1
[INFO] [stderr]                |
[INFO] [stderr]            292 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:298:1
[INFO] [stderr]                |
[INFO] [stderr]            298 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:304:1
[INFO] [stderr]                |
[INFO] [stderr]            304 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:317:1
[INFO] [stderr]                |
[INFO] [stderr]            317 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:323:1
[INFO] [stderr]                |
[INFO] [stderr]            323 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/functions.rs:329:1
[INFO] [stderr]                |
[INFO] [stderr]            329 | #[ffi_function]
[INFO] [stderr]                | ^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/api_guard.rs:4:1
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/ascii_pointer.rs:6:1
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:12:1
[INFO] [stderr]               |
[INFO] [stderr]            12 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:18:1
[INFO] [stderr]               |
[INFO] [stderr]            18 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/ascii_pointer.rs:26:1
[INFO] [stderr]               |
[INFO] [stderr]            26 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:37:1
[INFO] [stderr]               |
[INFO] [stderr]            37 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:43:1
[INFO] [stderr]               |
[INFO] [stderr]            43 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:49:1
[INFO] [stderr]               |
[INFO] [stderr]            49 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/callbacks.rs:55:1
[INFO] [stderr]               |
[INFO] [stderr]            55 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/option.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/option.rs:16:1
[INFO] [stderr]               |
[INFO] [stderr]            16 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]             --> src/patterns/primitives.rs:4:1
[INFO] [stderr]              |
[INFO] [stderr]            4 | #[ffi_function]
[INFO] [stderr]              | ^^^^^^^^^^^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:16:1
[INFO] [stderr]               |
[INFO] [stderr]            16 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/primitives.rs:22:1
[INFO] [stderr]               |
[INFO] [stderr]            22 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:11:1
[INFO] [stderr]               |
[INFO] [stderr]            11 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:23:1
[INFO] [stderr]               |
[INFO] [stderr]            23 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:33:1
[INFO] [stderr]               |
[INFO] [stderr]            33 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:39:1
[INFO] [stderr]               |
[INFO] [stderr]            39 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:45:1
[INFO] [stderr]               |
[INFO] [stderr]            45 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:55:1
[INFO] [stderr]               |
[INFO] [stderr]            55 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:59:1
[INFO] [stderr]               |
[INFO] [stderr]            59 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> src/patterns/slice.rs:66:1
[INFO] [stderr]               |
[INFO] [stderr]            66 | #[ffi_function]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: Must be item.: Error("expected path")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_void` in module `functions`
[INFO] [stderr]              --> src/lib.rs:32:44
[INFO] [stderr]               |
[INFO] [stderr]            32 |             .register(function!(functions::primitive_void))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_void2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:33:44
[INFO] [stderr]               |
[INFO] [stderr]            33 |             .register(function!(functions::primitive_void2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_bool` in module `functions`
[INFO] [stderr]              --> src/lib.rs:34:44
[INFO] [stderr]               |
[INFO] [stderr]            34 |             .register(function!(functions::primitive_bool))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u8` in module `functions`
[INFO] [stderr]              --> src/lib.rs:35:44
[INFO] [stderr]               |
[INFO] [stderr]            35 |             .register(function!(functions::primitive_u8))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u16` in module `functions`
[INFO] [stderr]              --> src/lib.rs:36:44
[INFO] [stderr]               |
[INFO] [stderr]            36 |             .register(function!(functions::primitive_u16))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u32` in module `functions`
[INFO] [stderr]              --> src/lib.rs:37:44
[INFO] [stderr]               |
[INFO] [stderr]            37 |             .register(function!(functions::primitive_u32))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_u64` in module `functions`
[INFO] [stderr]              --> src/lib.rs:38:44
[INFO] [stderr]               |
[INFO] [stderr]            38 |             .register(function!(functions::primitive_u64))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i8` in module `functions`
[INFO] [stderr]              --> src/lib.rs:39:44
[INFO] [stderr]               |
[INFO] [stderr]            39 |             .register(function!(functions::primitive_i8))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i16` in module `functions`
[INFO] [stderr]              --> src/lib.rs:40:44
[INFO] [stderr]               |
[INFO] [stderr]            40 |             .register(function!(functions::primitive_i16))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i32` in module `functions`
[INFO] [stderr]              --> src/lib.rs:41:44
[INFO] [stderr]               |
[INFO] [stderr]            41 |             .register(function!(functions::primitive_i32))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `primitive_i64` in module `functions`
[INFO] [stderr]              --> src/lib.rs:42:44
[INFO] [stderr]               |
[INFO] [stderr]            42 |             .register(function!(functions::primitive_i64))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `boolean_alignment` in module `functions`
[INFO] [stderr]               --> src/lib.rs:43:44
[INFO] [stderr]                |
[INFO] [stderr]             43 |             .register(function!(functions::boolean_alignment))
[INFO] [stderr]                |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:251:1
[INFO] [stderr]                |
[INFO] [stderr]            251 | pub struct BooleanAlignment {
[INFO] [stderr]                | --------------------------- similarly named struct `BooleanAlignment` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             43 -             .register(function!(functions::boolean_alignment))
[INFO] [stderr]             43 +             .register(function!(functions::BooleanAlignment))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `boolean_alignment2` in module `functions`
[INFO] [stderr]               --> src/lib.rs:44:44
[INFO] [stderr]                |
[INFO] [stderr]             44 |             .register(function!(functions::boolean_alignment2))
[INFO] [stderr]                |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:251:1
[INFO] [stderr]                |
[INFO] [stderr]            251 | pub struct BooleanAlignment {
[INFO] [stderr]                | --------------------------- similarly named struct `BooleanAlignment` defined here
[INFO] [stderr]                |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]                |
[INFO] [stderr]             44 -             .register(function!(functions::boolean_alignment2))
[INFO] [stderr]             44 +             .register(function!(functions::BooleanAlignment))
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `aligned_to_packed1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:45:44
[INFO] [stderr]               |
[INFO] [stderr]            45 |             .register(function!(functions::aligned_to_packed1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `aligned_to_packed2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:46:44
[INFO] [stderr]               |
[INFO] [stderr]            46 |             .register(function!(functions::aligned_to_packed2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `many_args_5` in module `functions`
[INFO] [stderr]              --> src/lib.rs:47:44
[INFO] [stderr]               |
[INFO] [stderr]            47 |             .register(function!(functions::many_args_5))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `many_args_10` in module `functions`
[INFO] [stderr]              --> src/lib.rs:48:44
[INFO] [stderr]               |
[INFO] [stderr]            48 |             .register(function!(functions::many_args_10))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr` in module `functions`
[INFO] [stderr]              --> src/lib.rs:49:44
[INFO] [stderr]               |
[INFO] [stderr]            49 |             .register(function!(functions::ptr))
[INFO] [stderr]               |                                            ^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr_mut` in module `functions`
[INFO] [stderr]              --> src/lib.rs:50:44
[INFO] [stderr]               |
[INFO] [stderr]            50 |             .register(function!(functions::ptr_mut))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ptr_ptr` in module `functions`
[INFO] [stderr]              --> src/lib.rs:51:44
[INFO] [stderr]               |
[INFO] [stderr]            51 |             .register(function!(functions::ptr_ptr))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_simple` in module `functions`
[INFO] [stderr]              --> src/lib.rs:52:44
[INFO] [stderr]               |
[INFO] [stderr]            52 |             .register(function!(functions::ref_simple))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_mut_simple` in module `functions`
[INFO] [stderr]              --> src/lib.rs:53:44
[INFO] [stderr]               |
[INFO] [stderr]            53 |             .register(function!(functions::ref_mut_simple))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:54:44
[INFO] [stderr]               |
[INFO] [stderr]            54 |             .register(function!(functions::ref_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ref_mut_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:55:44
[INFO] [stderr]               |
[INFO] [stderr]            55 |             .register(function!(functions::ref_mut_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `tupled` in module `functions`
[INFO] [stderr]              --> src/lib.rs:56:44
[INFO] [stderr]               |
[INFO] [stderr]            56 |             .register(function!(functions::tupled))
[INFO] [stderr]               |                                            ^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:39:1
[INFO] [stderr]               |
[INFO] [stderr]            39 | pub struct Tupled(pub u8);
[INFO] [stderr]               | -------------------------- similarly named struct `Tupled` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            56 -             .register(function!(functions::tupled))
[INFO] [stderr]            56 +             .register(function!(functions::Tupled))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `complex_args_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:57:44
[INFO] [stderr]               |
[INFO] [stderr]            57 |             .register(function!(functions::complex_args_1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `complex_args_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:58:44
[INFO] [stderr]               |
[INFO] [stderr]            58 |             .register(function!(functions::complex_args_2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `callback` in module `functions`
[INFO] [stderr]              --> src/lib.rs:59:44
[INFO] [stderr]               |
[INFO] [stderr]            59 |             .register(function!(functions::callback))
[INFO] [stderr]               |                                            ^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1a` in module `functions`
[INFO] [stderr]              --> src/lib.rs:60:44
[INFO] [stderr]               |
[INFO] [stderr]            60 |             .register(function!(functions::generic_1a))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1b` in module `functions`
[INFO] [stderr]              --> src/lib.rs:61:44
[INFO] [stderr]               |
[INFO] [stderr]            61 |             .register(function!(functions::generic_1b))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_1c` in module `functions`
[INFO] [stderr]              --> src/lib.rs:62:44
[INFO] [stderr]               |
[INFO] [stderr]            62 |             .register(function!(functions::generic_1c))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:63:44
[INFO] [stderr]               |
[INFO] [stderr]            63 |               .register(function!(functions::generic_2))
[INFO] [stderr]               |                                              ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:58:1
[INFO] [stderr]               |
[INFO] [stderr]            58 | / pub struct Generic2<T>
[INFO] [stderr]            59 | | where
[INFO] [stderr]            60 | |     T: CTypeInfo,
[INFO] [stderr]            ...  |
[INFO] [stderr]            63 | | }
[INFO] [stderr]               | |_- similarly named struct `Generic2` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            63 -             .register(function!(functions::generic_2))
[INFO] [stderr]            63 +             .register(function!(functions::Generic2))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_3` in module `functions`
[INFO] [stderr]              --> src/lib.rs:64:44
[INFO] [stderr]               |
[INFO] [stderr]            64 |             .register(function!(functions::generic_3))
[INFO] [stderr]               |                                            ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:67:1
[INFO] [stderr]               |
[INFO] [stderr]            67 | pub struct Generic3<T> {
[INFO] [stderr]               | ---------------------- similarly named struct `Generic3` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            64 -             .register(function!(functions::generic_3))
[INFO] [stderr]            64 +             .register(function!(functions::Generic3))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `generic_4` in module `functions`
[INFO] [stderr]              --> src/lib.rs:65:44
[INFO] [stderr]               |
[INFO] [stderr]            65 |               .register(function!(functions::generic_4))
[INFO] [stderr]               |                                              ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/types.rs:73:1
[INFO] [stderr]               |
[INFO] [stderr]            73 | / pub struct Generic4<T>
[INFO] [stderr]            74 | | where
[INFO] [stderr]            75 | |     T: Helper,
[INFO] [stderr]            ...  |
[INFO] [stderr]            78 | | }
[INFO] [stderr]               | |_- similarly named struct `Generic4` defined here
[INFO] [stderr]               |
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stderr]               |
[INFO] [stderr]            65 -             .register(function!(functions::generic_4))
[INFO] [stderr]            65 +             .register(function!(functions::Generic4))
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `array_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:66:44
[INFO] [stderr]               |
[INFO] [stderr]            66 |             .register(function!(functions::array_1))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `documented` in module `functions`
[INFO] [stderr]              --> src/lib.rs:67:44
[INFO] [stderr]               |
[INFO] [stderr]            67 |             .register(function!(functions::documented))
[INFO] [stderr]               |                                            ^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_1` in module `functions`
[INFO] [stderr]              --> src/lib.rs:68:44
[INFO] [stderr]               |
[INFO] [stderr]            68 |             .register(function!(functions::ambiguous_1))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_2` in module `functions`
[INFO] [stderr]              --> src/lib.rs:69:44
[INFO] [stderr]               |
[INFO] [stderr]            69 |             .register(function!(functions::ambiguous_2))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `ambiguous_3` in module `functions`
[INFO] [stderr]              --> src/lib.rs:70:44
[INFO] [stderr]               |
[INFO] [stderr]            70 |             .register(function!(functions::ambiguous_3))
[INFO] [stderr]               |                                            ^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_type` in module `functions`
[INFO] [stderr]              --> src/lib.rs:71:44
[INFO] [stderr]               |
[INFO] [stderr]            71 |             .register(function!(functions::namespaced_type))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_option` in module `functions`
[INFO] [stderr]              --> src/lib.rs:72:44
[INFO] [stderr]               |
[INFO] [stderr]            72 |             .register(function!(functions::namespaced_inner_option))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_slice` in module `functions`
[INFO] [stderr]              --> src/lib.rs:73:44
[INFO] [stderr]               |
[INFO] [stderr]            73 |             .register(function!(functions::namespaced_inner_slice))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `namespaced_inner_slice_mut` in module `functions`
[INFO] [stderr]              --> src/lib.rs:74:44
[INFO] [stderr]               |
[INFO] [stderr]            74 |             .register(function!(functions::namespaced_inner_slice_mut))
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `panics` in module `functions`
[INFO] [stderr]              --> src/lib.rs:75:44
[INFO] [stderr]               |
[INFO] [stderr]            75 |             .register(function!(functions::panics))
[INFO] [stderr]               |                                            ^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `renamed` in module `functions`
[INFO] [stderr]              --> src/lib.rs:76:44
[INFO] [stderr]               |
[INFO] [stderr]            76 |             .register(function!(functions::renamed))
[INFO] [stderr]               |                                            ^^^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `sleep` in module `functions`
[INFO] [stderr]              --> src/lib.rs:77:44
[INFO] [stderr]               |
[INFO] [stderr]            77 |             .register(function!(functions::sleep))
[INFO] [stderr]               |                                            ^^^^^ not found in `functions`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `weird_1` in module `functions`
[INFO] [stderr]               --> src/lib.rs:78:44
[INFO] [stderr]                |
[INFO] [stderr]             78 |               .register(function!(functions::weird_1))
[INFO] [stderr]                |                                              ^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/types.rs:184:1
[INFO] [stderr]                |
[INFO] [stderr]            184 | / pub struct Weird1<T: Clone>
[INFO] [stderr]            185 | | where
[INFO] [stderr]            186 | |     T: Copy + Copy,
[INFO] [stderr]            ...   |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            189 | | }
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | |_- similarly named struct `Weird1` defined here
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             78 -             .register(function!(functions::weird_1))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             78 +             .register(function!(functions::Weird1))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `visibility` in module `functions`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lib.rs:79:44
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             79 |             .register(function!(functions::visibility))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                                            ^^^^^^^^^^
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               ::: src/types.rs:205:1
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            205 | pub struct Visibility1 {
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:136:3
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ---------------------- similarly named struct `Visibility1` defined here
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: a struct with a similar name exists
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:163:3
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             79 -             .register(function!(functions::visibility))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:169:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             79 +             .register(function!(functions::Visibility1))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:175:3
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:181:3
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:194:3
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `repr_transparent` in module `functions`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:200:3
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:80:44
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:206:3
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            80 |             .register(function!(functions::repr_transparent))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:218:3
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                            ^^^^^^^^^^^^^^^^ not found in `functions`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:224:3
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:230:3
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:236:3
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_1` in module `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:242:3
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:81:58
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:257:3
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:263:3
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            81 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_1))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:269:3
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:275:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:281:3
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:287:3
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_2` in module `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:293:3
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:82:58
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:299:3
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            82 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_2))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:318:3
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:324:3
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:330:3
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/api_guard.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_len` in module `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/ascii_pointer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:83:58
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            83 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_len))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ascii_pointer_return_slice` in module `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:84:58
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            84 |             .register(function!(patterns::ascii_pointer::pattern_ascii_pointer_return_slice))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/primitives.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::ascii_pointer`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_1` in module `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 | |     #[ffi_service_ctor]
[INFO] [stdout] 23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] 24 | |         Ok(Self {
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     unsafe(/// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 |     #[ffi_service_ctor]
[INFO] [stdout] ...
[INFO] [stdout] 28 |         })
[INFO] [stdout] 29 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:85:50
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     #[ffi_service_ctor]
[INFO] [stdout] 32 | |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] 33 | |         Ok(Self {
[INFO] [stdout] 34 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         })
[INFO] [stdout] 38 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 31 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 32 |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         })
[INFO] [stdout] 38 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | /     #[ffi_service_ctor]
[INFO] [stdout] 41 | |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] 42 | |         Ok(Self {
[INFO] [stdout] 43 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |         })
[INFO] [stdout] 47 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 41 |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 46 |         })
[INFO] [stdout] 47 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            85 |             .register(function!(patterns::slice::pattern_ffi_slice_1))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     #[ffi_service_ctor]
[INFO] [stdout] 50 | |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 | |         Err(Error::Bad)
[INFO] [stdout] 52 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 50 |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 |         Err(Error::Bad)
[INFO] [stdout] 52 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     /// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 | |     /// need annotations.
[INFO] [stdout] 56 | |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 | |         Ok(())
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     unsafe(/// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 |     /// need annotations.
[INFO] [stdout] 56 |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 |         Ok(())
[INFO] [stdout] 58 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 | |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 | |         x
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 |         x
[INFO] [stdout] 63 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     /// This method should be documented.
[INFO] [stdout] 66 | |     ///
[INFO] [stdout] 67 | |     /// Multiple lines.
[INFO] [stdout] 68 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 | |     pub fn method_void(&self) {}
[INFO] [stdout]    | |________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 65 ~     unsafe(/// This method should be documented.
[INFO] [stdout] 66 |     ///
[INFO] [stdout] 67 |     /// Multiple lines.
[INFO] [stdout] 68 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 ~     pub fn method_void(&self) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_1b` in module `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 | |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 | |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:86:50
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Single line.
[INFO] [stdout] 77 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 | |     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]    | |________________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     unsafe(/// Single line.
[INFO] [stdout] 77 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 ~     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 | |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 | |         *x
[INFO] [stdout] 83 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 |         *x
[INFO] [stdout] 83 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            86 |             .register(function!(patterns::slice::pattern_ffi_slice_1b))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 | |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 | |         *x
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 |         *x
[INFO] [stdout] 88 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 | |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 | |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'...
[INFO] [stdout] 93 | |         *x
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'b, u8>) -> u8 {
[INFO] [stdout] 93 |         *x
[INFO] [stdout] 94 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     #[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 | |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 | |         Ok(())
[INFO] [stdout] 100 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     unsafe(#[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 |         Ok(())
[INFO] [stdout] 100 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 | |         slice.as_slice_mut();
[INFO] [stdout] 104 | |         Ok(())
[INFO] [stdout] 105 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     unsafe(pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 |         slice.as_slice_mut();
[INFO] [stdout] 104 |         Ok(())
[INFO] [stdout] 105 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_2` in module `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout] 111 | |         self.data.as_slice().into()
[INFO] [stdout] 112 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 111 |         self.data.as_slice().into()
[INFO] [stdout] 112 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:87:50
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout] 118 | |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 118 |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     /// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 | |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 ~     unsafe(/// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            87 |             .register(function!(patterns::slice::pattern_ffi_slice_2))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 | |         Ok(())
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 |         Ok(())
[INFO] [stdout] 129 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 | |         callback.call(0);
[INFO] [stdout] 138 | |         Ok(())
[INFO] [stdout] 139 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 ~     unsafe(pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 |         callback.call(0);
[INFO] [stdout] 138 |         Ok(())
[INFO] [stdout] 139 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleService {
[INFO] [stdout]    |      ^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl unsafe(SimpleService) {
[INFO] [stdout]    |      +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     #[ffi_service_ctor]
[INFO] [stdout] 157 | |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 | |         Ok(Self { some_value })
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 157 |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 |         Ok(Self { some_value })
[INFO] [stdout] 159 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_3` in module `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 | |     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {}
[INFO] [stdout]     | |_________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 ~     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:88:50
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 | |     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]     | |______________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 164 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 ~     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 | |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 | |         AsciiPointer::empty()
[INFO] [stdout] 171 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 168 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 |         AsciiPointer::empty()
[INFO] [stdout] 171 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            88 |             .register(function!(patterns::slice::pattern_ffi_slice_3))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 | |         Ok(())
[INFO] [stdout] 175 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 173 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 |         Ok(())
[INFO] [stdout] 175 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> SimpleServiceLifetime<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> unsafe(SimpleServiceLifetime<'a>) {
[INFO] [stdout]     |          +++++++                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_4` in module `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lib.rs:89:50
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            89 |             .register(function!(patterns::slice::pattern_ffi_slice_4))
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_5` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:90:50
[INFO] [stderr]               |
[INFO] [stderr]            90 |             .register(function!(patterns::slice::pattern_ffi_slice_5))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_6` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:91:50
[INFO] [stderr]               |
[INFO] [stderr]            91 |             .register(function!(patterns::slice::pattern_ffi_slice_6))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_delegate` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:92:50
[INFO] [stderr]               |
[INFO] [stderr]            92 |             .register(function!(patterns::slice::pattern_ffi_slice_delegate))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_slice_delegate_huge` in module `patterns::slice`
[INFO] [stderr]              --> src/lib.rs:93:50
[INFO] [stderr]               |
[INFO] [stderr]            93 |             .register(function!(patterns::slice::pattern_ffi_slice_delegate_huge))
[INFO] [stderr]               |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::slice`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_option_1` in module `patterns::option`
[INFO] [stderr]              --> src/lib.rs:94:51
[INFO] [stderr]               |
[INFO] [stderr]            94 |             .register(function!(patterns::option::pattern_ffi_option_1))
[INFO] [stderr]               |                                                   ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::option`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_option_2` in module `patterns::option`
[INFO] [stderr]              --> src/lib.rs:95:51
[INFO] [stderr]               |
[INFO] [stderr]            95 |             .register(function!(patterns::option::pattern_ffi_option_2))
[INFO] [stderr]               |                                                   ^^^^^^^^^^^^^^^^^^^^ not found in `patterns::option`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_bool` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:96:55
[INFO] [stderr]               |
[INFO] [stderr]            96 |             .register(function!(patterns::primitives::pattern_ffi_bool))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:97:55
[INFO] [stderr]               |
[INFO] [stderr]            97 |             .register(function!(patterns::primitives::pattern_ffi_cchar))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar_const_pointer` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:98:55
[INFO] [stderr]               |
[INFO] [stderr]            98 |             .register(function!(patterns::primitives::pattern_ffi_cchar_const_pointer))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_ffi_cchar_mut_pointer` in module `patterns::primitives`
[INFO] [stderr]              --> src/lib.rs:99:55
[INFO] [stderr]               |
[INFO] [stderr]            99 |             .register(function!(patterns::primitives::pattern_ffi_cchar_mut_pointer))
[INFO] [stderr]               |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `patterns::primitives`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_api_guard` in module `patterns::api_guard`
[INFO] [stderr]               --> src/lib.rs:100:54
[INFO] [stderr]                |
[INFO] [stderr]            100 |             .register(function!(patterns::api_guard::pattern_api_guard))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^ not found in `patterns::api_guard`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_1` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:101:54
[INFO] [stderr]                |
[INFO] [stderr]            101 |             .register(function!(patterns::callbacks::pattern_callback_1))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_2` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:102:54
[INFO] [stderr]                |
[INFO] [stderr]            102 |             .register(function!(patterns::callbacks::pattern_callback_2))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_3` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:103:54
[INFO] [stderr]                |
[INFO] [stderr]            103 |             .register(function!(patterns::callbacks::pattern_callback_3))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0425]: cannot find type `pattern_callback_4` in module `patterns::callbacks`
[INFO] [stderr]               --> src/lib.rs:104:54
[INFO] [stderr]                |
[INFO] [stderr]            104 |             .register(function!(patterns::callbacks::pattern_callback_4))
[INFO] [stderr]                |                                                      ^^^^^^^^^^^^^^^^^^ not found in `patterns::callbacks`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 147 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0425`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.13s
[INFO] [stderr] crater-edition-check: interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking interoptopus_reference_project v0.14.25 (/opt/rustwide/workdir)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:136:3
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:163:3
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:169:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:175:3
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:181:3
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:194:3
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:200:3
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:206:3
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:218:3
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:224:3
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:230:3
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:236:3
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:242:3
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:257:3
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:263:3
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:269:3
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:275:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:281:3
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:287:3
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:293:3
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:299:3
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:318:3
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:324:3
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:330:3
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/api_guard.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/ascii_pointer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/primitives.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 | |     #[ffi_service_ctor]
[INFO] [stdout] 23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] 24 | |         Ok(Self {
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     unsafe(/// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 |     #[ffi_service_ctor]
[INFO] [stdout] ...
[INFO] [stdout] 28 |         })
[INFO] [stdout] 29 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     #[ffi_service_ctor]
[INFO] [stdout] 32 | |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] 33 | |         Ok(Self {
[INFO] [stdout] 34 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         })
[INFO] [stdout] 38 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 31 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 32 |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         })
[INFO] [stdout] 38 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | /     #[ffi_service_ctor]
[INFO] [stdout] 41 | |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] 42 | |         Ok(Self {
[INFO] [stdout] 43 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |         })
[INFO] [stdout] 47 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 41 |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 46 |         })
[INFO] [stdout] 47 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     #[ffi_service_ctor]
[INFO] [stdout] 50 | |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 | |         Err(Error::Bad)
[INFO] [stdout] 52 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 50 |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 |         Err(Error::Bad)
[INFO] [stdout] 52 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     /// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 | |     /// need annotations.
[INFO] [stdout] 56 | |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 | |         Ok(())
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     unsafe(/// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 |     /// need annotations.
[INFO] [stdout] 56 |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 |         Ok(())
[INFO] [stdout] 58 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 | |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 | |         x
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 |         x
[INFO] [stdout] 63 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     /// This method should be documented.
[INFO] [stdout] 66 | |     ///
[INFO] [stdout] 67 | |     /// Multiple lines.
[INFO] [stdout] 68 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 | |     pub fn method_void(&self) {}
[INFO] [stdout]    | |________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 65 ~     unsafe(/// This method should be documented.
[INFO] [stdout] 66 |     ///
[INFO] [stdout] 67 |     /// Multiple lines.
[INFO] [stdout] 68 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 ~     pub fn method_void(&self) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 | |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 | |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Single line.
[INFO] [stdout] 77 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 | |     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]    | |________________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     unsafe(/// Single line.
[INFO] [stdout] 77 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 ~     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 | |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 | |         *x
[INFO] [stdout] 83 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 |         *x
[INFO] [stdout] 83 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 | |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 | |         *x
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 |         *x
[INFO] [stdout] 88 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 | |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 | |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'...
[INFO] [stdout] 93 | |         *x
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'b, u8>) -> u8 {
[INFO] [stdout] 93 |         *x
[INFO] [stdout] 94 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     #[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 | |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 | |         Ok(())
[INFO] [stdout] 100 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     unsafe(#[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 |         Ok(())
[INFO] [stdout] 100 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 | |         slice.as_slice_mut();
[INFO] [stdout] 104 | |         Ok(())
[INFO] [stdout] 105 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     unsafe(pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 |         slice.as_slice_mut();
[INFO] [stdout] 104 |         Ok(())
[INFO] [stdout] 105 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout] 111 | |         self.data.as_slice().into()
[INFO] [stdout] 112 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 111 |         self.data.as_slice().into()
[INFO] [stdout] 112 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout] 118 | |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 118 |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     /// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 | |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 ~     unsafe(/// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 | |         Ok(())
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 |         Ok(())
[INFO] [stdout] 129 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 | |         callback.call(0);
[INFO] [stdout] 138 | |         Ok(())
[INFO] [stdout] 139 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 ~     unsafe(pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 |         callback.call(0);
[INFO] [stdout] 138 |         Ok(())
[INFO] [stdout] 139 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleService {
[INFO] [stdout]    |      ^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl unsafe(SimpleService) {
[INFO] [stdout]    |      +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     #[ffi_service_ctor]
[INFO] [stdout] 157 | |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 | |         Ok(Self { some_value })
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 157 |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 |         Ok(Self { some_value })
[INFO] [stdout] 159 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 | |     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {}
[INFO] [stdout]     | |_________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 ~     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 | |     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]     | |______________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 164 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 ~     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 | |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 | |         AsciiPointer::empty()
[INFO] [stdout] 171 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 168 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 |         AsciiPointer::empty()
[INFO] [stdout] 171 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 | |         Ok(())
[INFO] [stdout] 175 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 173 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 |         Ok(())
[INFO] [stdout] 175 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> SimpleServiceLifetime<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> unsafe(SimpleServiceLifetime<'a>) {
[INFO] [stdout]     |          +++++++                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:33:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:57:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:75:3
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/functions.rs:97:3
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:136:3
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 144 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 157 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:163:3
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:169:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:175:3
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 175 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:181:3
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:194:3
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:200:3
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:206:3
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:218:3
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 218 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:224:3
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 224 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:230:3
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 230 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:236:3
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:242:3
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:257:3
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:263:3
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 263 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:269:3
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 269 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:275:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 275 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:281:3
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:287:3
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 287 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:293:3
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:299:3
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 299 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 305 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:318:3
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:324:3
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 324 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/functions.rs:330:3
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/api_guard.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/ascii_pointer.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/ascii_pointer.rs:27:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:38:3
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/callbacks.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/option.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]  --> src/patterns/primitives.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]   |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[unsafe(no_mangle)]
[INFO] [stdout]   |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/primitives.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 | |     #[ffi_service_ctor]
[INFO] [stdout] 23 | |     pub fn new_with(some_value: u32) -> Result<Self, Error> {
[INFO] [stdout] 24 | |         Ok(Self {
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |         })
[INFO] [stdout] 29 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 21 ~     unsafe(/// The constructor must return a `Result<Self, Error>`.
[INFO] [stdout] 22 |     #[ffi_service_ctor]
[INFO] [stdout] ...
[INFO] [stdout] 28 |         })
[INFO] [stdout] 29 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     #[ffi_service_ctor]
[INFO] [stdout] 32 | |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] 33 | |         Ok(Self {
[INFO] [stdout] 34 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         })
[INFO] [stdout] 38 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 31 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 32 |     pub fn new_without() -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         })
[INFO] [stdout] 38 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | /     #[ffi_service_ctor]
[INFO] [stdout] 41 | |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] 42 | |         Ok(Self {
[INFO] [stdout] 43 | |             some_value: 0,
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |         })
[INFO] [stdout] 47 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 41 |     pub fn new_with_string(ascii: AsciiPointer) -> Result<Self, Error> {
[INFO] [stdout] ...
[INFO] [stdout] 46 |         })
[INFO] [stdout] 47 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     #[ffi_service_ctor]
[INFO] [stdout] 50 | |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 | |         Err(Error::Bad)
[INFO] [stdout] 52 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 50 |     pub fn new_failing(_some_value: u8) -> Result<Self, Error> {
[INFO] [stdout] 51 |         Err(Error::Bad)
[INFO] [stdout] 52 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | /     /// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 | |     /// need annotations.
[INFO] [stdout] 56 | |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 | |         Ok(())
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     unsafe(/// Methods returning a Result<(), _> are the default and do not
[INFO] [stdout] 55 |     /// need annotations.
[INFO] [stdout] 56 |     pub fn method_result(&self, _: u32) -> Result<(), Error> {
[INFO] [stdout] 57 |         Ok(())
[INFO] [stdout] 58 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 | |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 | |         x
[INFO] [stdout] 63 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 61 |     pub fn method_value(&self, x: u32) -> u32 {
[INFO] [stdout] 62 |         x
[INFO] [stdout] 63 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | /     /// This method should be documented.
[INFO] [stdout] 66 | |     ///
[INFO] [stdout] 67 | |     /// Multiple lines.
[INFO] [stdout] 68 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 | |     pub fn method_void(&self) {}
[INFO] [stdout]    | |________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 65 ~     unsafe(/// This method should be documented.
[INFO] [stdout] 66 |     ///
[INFO] [stdout] 67 |     /// Multiple lines.
[INFO] [stdout] 68 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 69 ~     pub fn method_void(&self) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 | |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 | |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 72 |     pub fn method_mut_self(&mut self, slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 73 |         *slice.as_slice().first().unwrap_or(&0)
[INFO] [stdout] 74 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Single line.
[INFO] [stdout] 77 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 | |     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]    | |________________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     unsafe(/// Single line.
[INFO] [stdout] 77 |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 78 ~     pub fn method_mut_self_void(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 | |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 | |         *x
[INFO] [stdout] 83 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 80 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 81 |     pub fn method_mut_self_ref(&mut self, x: &u8, _y: &mut u8) -> u8 {
[INFO] [stdout] 82 |         *x
[INFO] [stdout] 83 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 | |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 | |         *x
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 86 |     pub fn method_mut_self_ref_slice(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<u8>) -> u8 {
[INFO] [stdout] 87 |         *x
[INFO] [stdout] 88 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 | |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 | |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'...
[INFO] [stdout] 93 | |         *x
[INFO] [stdout] 94 | |     }
[INFO] [stdout]    | |_____^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 91 |     #[allow(clippy::needless_lifetimes)]
[INFO] [stdout] 92 |     pub fn method_mut_self_ref_slice_limited<'a, 'b>(&mut self, x: &u8, _y: &mut u8, _slice: FFISlice<'a, u8>, _slice2: FFISlice<'b, u8>) -> u8 {
[INFO] [stdout] 93 |         *x
[INFO] [stdout] 94 ~     })
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     #[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 | |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 | |         Ok(())
[INFO] [stdout] 100 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     unsafe(#[ffi_service_method(on_panic = "ffi_error")]
[INFO] [stdout]  98 |     pub fn method_mut_self_ffi_error(&mut self, _slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout]  99 |         Ok(())
[INFO] [stdout] 100 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 | |         slice.as_slice_mut();
[INFO] [stdout] 104 | |         Ok(())
[INFO] [stdout] 105 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     unsafe(pub fn method_mut_self_no_error(&mut self, mut slice: FFISliceMut<u8>) -> Result<(), Error> {
[INFO] [stdout] 103 |         slice.as_slice_mut();
[INFO] [stdout] 104 |         Ok(())
[INFO] [stdout] 105 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 109 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 110 | |     pub fn return_slice(&mut self) -> FFISlice<u32> {
[INFO] [stdout] 111 | |         self.data.as_slice().into()
[INFO] [stdout] 112 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 108 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 111 |         self.data.as_slice().into()
[INFO] [stdout] 112 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 | |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] 116 | |     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 117 | |     pub fn return_slice_mut(&mut self) -> FFISliceMut<u32> {
[INFO] [stdout] 118 | |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     unsafe(/// Warning, you _must_ discard the returned slice object before calling into this service
[INFO] [stdout] 115 |     /// again, as otherwise undefined behavior might happen.
[INFO] [stdout] ...
[INFO] [stdout] 118 |         FFISliceMut::from_slice(&mut self.data)
[INFO] [stdout] 119 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     /// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 | |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 | |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 | |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 121 ~     unsafe(/// This function has no panic safeguards. If it panics your host app will be in an undefined state.
[INFO] [stdout] 122 |     #[ffi_service_method(on_panic = "undefined_behavior")]
[INFO] [stdout] 123 |     pub fn return_string(&mut self) -> AsciiPointer {
[INFO] [stdout] 124 |         AsciiPointer::from_cstr(&self.c_string)
[INFO] [stdout] 125 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 | |         Ok(())
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 127 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 128 |         Ok(())
[INFO] [stdout] 129 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 | |         callback.call(0);
[INFO] [stdout] 138 | |         Ok(())
[INFO] [stdout] 139 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 136 ~     unsafe(pub fn method_callback(&mut self, callback: MyCallback) -> Result<(), Error> {
[INFO] [stdout] 137 |         callback.call(0);
[INFO] [stdout] 138 |         Ok(())
[INFO] [stdout] 139 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/service.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SimpleService {
[INFO] [stdout]    |      ^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl unsafe(SimpleService) {
[INFO] [stdout]    |      +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     #[ffi_service_ctor]
[INFO] [stdout] 157 | |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 | |         Ok(Self { some_value })
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     unsafe(#[ffi_service_ctor]
[INFO] [stdout] 157 |     pub fn new_with(some_value: &'a u32) -> Result<Self, Error> {
[INFO] [stdout] 158 |         Ok(Self { some_value })
[INFO] [stdout] 159 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 | |     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {}
[INFO] [stdout]     | |_________________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 162 ~     pub fn method_lt(&mut self, _slice: FFISlice<'a, FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 | |     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {}
[INFO] [stdout]     | |______________________________________________________________^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 164 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 165 ~     pub fn method_lt2(&mut self, _slice: FFISlice<FFIBool>) {})
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     #[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 | |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 | |         AsciiPointer::empty()
[INFO] [stdout] 171 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 168 ~     unsafe(#[ffi_service_method(on_panic = "return_default")]
[INFO] [stdout] 169 |     pub fn return_string_accept_slice<'b>(_: &mut SimpleServiceLifetime<'b>, _: FFISlice<'b, u8>) -> AsciiPointer<'b> {
[INFO] [stdout] 170 |         AsciiPointer::empty()
[INFO] [stdout] 171 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 | |         Ok(())
[INFO] [stdout] 175 | |     }
[INFO] [stdout]     | |_____^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 173 ~     unsafe(pub fn method_void_ffi_error(&mut self) -> Result<(), Error> {
[INFO] [stdout] 174 |         Ok(())
[INFO] [stdout] 175 ~     })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/patterns/service.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> SimpleServiceLifetime<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> unsafe(SimpleServiceLifetime<'a>) {
[INFO] [stdout]     |          +++++++                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:56:3
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> src/patterns/slice.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `interoptopus_reference_project` (lib) due to 99 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `interoptopus_reference_project` (lib test) due to 99 previous errors
[INFO] running `Command { std: "docker" "inspect" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6", kill_on_drop: false }`
[INFO] [stdout] 40a4bec7a721d913ecf36bf348222f88183d1f4d685905543c47205ff20d35b6
